home *** CD-ROM | disk | FTP | other *** search
-
-
-
- RDIST User Commands RDIST
-
-
-
- NNAAMMEE
- rdist - remote file distribution program
-
- SSYYNNOOPPSSIISS
- rrddiisstt [ -nqbRhivwy ] [ -f distfile ] [ -d var=value ] [ -m
- host ] [ name ... ]
-
- rrddiisstt [ -nqbRhivwy ] -c name ... [login@]host[:dest]
-
- DDEESSCCRRIIPPTTIIOONN
- _R_d_i_s_t is a program to maintain identical copies of files
- over multiple hosts. It preserves the owner, group, mode,
- and mtime of files if possible and can update programs that
- are executing. _R_d_i_s_t reads commands from _d_i_s_t_f_i_l_e to direct
- the updating of files and/or directories. If _d_i_s_t_f_i_l_e is
- `-', the standard input is used. If no --ff option is
- present, the program looks first for `distfile', then `Dist-
- file' to use as the input. If no names are specified on the
- command line, _r_d_i_s_t will update all of the files and direc-
- tories listed in _d_i_s_t_f_i_l_e. Otherwise, the argument is taken
- to be the name of a file to be updated or the label of a
- command to execute. If label and file names conflict, it is
- assumed to be a label. These may be used together to update
- specific files using specific commands.
-
- The --cc option forces _r_d_i_s_t to interpret the remaining argu-
- ments as a small _d_i_s_t_f_i_l_e. The equivalent distfile is as
- follows.
-
- ( _n_a_m_e ... ) -> [_l_o_g_i_n@]_h_o_s_t
- install [_d_e_s_t] ;
-
-
- Other options:
-
- --dd Define _v_a_r to have _v_a_l_u_e. The --dd option is used to
- define or override variable definitions in the _d_i_s_t_-
- _f_i_l_e. _V_a_l_u_e can be the empty string, one name, or a
- list of names surrounded by parentheses and separated
- by tabs and/or spaces.
-
- --mm Limit which machines are to be updated. Multiple --mm
- arguments can be given to limit updates to a subset of
- the hosts listed the _d_i_s_t_f_i_l_e.
-
- --nn Print the commands without executing them. This option
- is useful for debugging _d_i_s_t_f_i_l_e.
-
- --qq Quiet mode. Files that are being modified are normally
- printed on standard output. The --qq option suppresses
- this.
-
-
-
-
- Sprite v1.0 May 13, 1986 1
-
-
-
-
-
-
- RDIST User Commands RDIST
-
-
-
- --RR Remove extraneous files. If a directory is being
- updated, any files that exist on the remote host that
- do not exist in the master directory are removed. This
- is useful for maintaining truely identical copies of
- directories.
-
- --hh Follow symbolic links. Copy the file that the link
- points to rather than the link itself.
-
- --ii Ignore unresolved links. _R_d_i_s_t will normally try to
- maintain the link structure of files being transfered
- and warn the user if all the links cannot be found.
-
- --vv Verify that the files are up to date on all the hosts.
- Any files that are out of date will be displayed but no
- files will be changed nor any mail sent.
-
- --ww Whole mode. The whole file name is appended to the des-
- tination directory name. Normally, only the last com-
- ponent of a name is used when renaming files. This
- will preserve the directory structure of the files
- being copied instead of flattening the directory struc-
- ture. For example, renaming a list of files such as (
- dir1/f1 dir2/f2 ) to dir3 would create files
- dir3/dir1/f1 and dir3/dir2/f2 instead of dir3/f1 and
- dir3/f2.
-
- --yy Younger mode. Files are normally updated if their _m_t_i_m_e
- and _s_i_z_e (see _s_t_a_t(2)) disagree. The --yy option causes
- _r_d_i_s_t not to update files that are younger than the
- master copy. This can be used to prevent newer copies
- on other hosts from being replaced. A warning message
- is printed for files which are newer than the master
- copy.
-
- --bb Binary comparison. Perform a binary comparison and
- update files if they differ rather than comparing dates
- and sizes.
-
- _D_i_s_t_f_i_l_e contains a sequence of entries that specify the
- files to be copied, the destination hosts, and what opera-
- tions to perform to do the updating. Each entry has one of
- the following formats.
-
- <variable name> `=' <name list>
- [ label: ] <source list> `->' <destination list> <command list>
- [ label: ] <source list> `::' <time_stamp file> <command list>
-
- The first format is used for defining variables. The second
- format is used for distributing files to other hosts. The
- third format is used for making lists of files that have
- been changed since some given date. The _s_o_u_r_c_e _l_i_s_t
-
-
-
- Sprite v1.0 May 13, 1986 2
-
-
-
-
-
-
- RDIST User Commands RDIST
-
-
-
- specifies a list of files and/or directories on the local
- host which are to be used as the master copy for distribu-
- tion. The _d_e_s_t_i_n_a_t_i_o_n _l_i_s_t is the list of hosts to which
- these files are to be copied. Each file in the source list
- is added to a list of changes if the file is out of date on
- the host which is being updated (second format) or the file
- is newer than the time stamp file (third format).
-
- Labels are optional. They are used to identify a command for
- partial updates.
-
- Newlines, tabs, and blanks are only used as separators and
- are otherwise ignored. Comments begin with `#' and end with
- a newline.
-
- Variables to be expanded begin with `$' followed by one
- character or a name enclosed in curly braces (see the exam-
- ples at the end).
-
- The source and destination lists have the following format:
-
- <name>
- or
- `(' <zero or more names separated by white-space> `)'
-
- The shell meta-characters `[', `]', `{', `}', `*', and `?'
- are recognized and expanded (on the local host only) in the
- same way as _c_s_h(1). They can be escaped with a backslash.
- The `~' character is also expanded in the same way as _c_s_h
- but is expanded separately on the local and destination
- hosts. When the --ww option is used with a file name that
- begins with `~', everything except the home directory is
- appended to the destination name. File names which do not
- begin with `/' or `~' use the destination user's home direc-
- tory as the root directory for the rest of the file name.
-
- The command list consists of zero or more commands of the
- following format.
-
- `install' <options> opt_dest_name `;'
- `notify' <name list> `;'
- `except' <name list> `;'
- `except_pat' <pattern list>`;'
- `special' <name list> string `;'
-
-
- The _i_n_s_t_a_l_l command is used to copy out of date files and/or
- directories. Each source file is copied to each host in the
- destination list. Directories are recursively copied in the
- same way. _O_p_t__d_e_s_t__n_a_m_e is an optional parameter to rename
- files. If no _i_n_s_t_a_l_l command appears in the command list or
- the destination name is not specified, the source file name
-
-
-
- Sprite v1.0 May 13, 1986 3
-
-
-
-
-
-
- RDIST User Commands RDIST
-
-
-
- is used. Directories in the path name will be created if
- they do not exist on the remote host. To help prevent
- disasters, a non-empty directory on a target host will never
- be replaced with a regular file or a symbolic link. How-
- ever, under the `-R' option a non-empty directory will be
- removed if the corresponding filename is completely absent
- on the master host. The _o_p_t_i_o_n_s are `-R', `-h', `-i', `-v',
- `-w', `-y', and `-b' and have the same semantics as options
- on the command line except they only apply to the files in
- the source list. The login name used on the destination
- host is the same as the local host unless the destination
- name is of the format ``login@host".
-
- The _n_o_t_i_f_y command is used to mail the list of files updated
- (and any errors that may have occured) to the listed names.
- If no `@' appears in the name, the destination host is
- appended to the name (e.g., name1@host, name2@host, ...).
-
- The _e_x_c_e_p_t command is used to update all of the files in the
- source list eexxcceepptt for the files listed in _n_a_m_e _l_i_s_t. This
- is usually used to copy everything in a directory except
- certain files.
-
- The _e_x_c_e_p_t__p_a_t command is like the _e_x_c_e_p_t command except
- that _p_a_t_t_e_r_n _l_i_s_t is a list of regular expressions (see
- _e_d(1) for details). If one of the patterns matches some
- string within a file name, that file will be ignored. Note
- that since `\' is a quote character, it must be doubled to
- become part of the regular expression. Variables are
- expanded in _p_a_t_t_e_r_n _l_i_s_t but not shell file pattern matching
- characters. To include a `$', it must be escaped with `\'.
-
- The _s_p_e_c_i_a_l command is used to specify _s_h(1) commands that
- are to be executed on the remote host after the file in _n_a_m_e
- _l_i_s_t is updated or installed. If the _n_a_m_e _l_i_s_t is omitted
- then the shell commands will be executed for every file
- updated or installed. The shell variable `FILE' is set to
- the current filename before executing the commands in
- _s_t_r_i_n_g. _S_t_r_i_n_g starts and ends with `"' and can cross mul-
- tiple lines in _d_i_s_t_f_i_l_e. Multiple commands to the shell
- should be separated by `;'. Commands are executed in the
- user's home directory on the host being updated. The _s_p_e_-
- _c_i_a_l command can be used to rebuild private databases, etc.
- after a program has been updated.
-
- The following is a small example.
-
- HOSTS = ( matisse root@arpa)
-
- FILES = ( /bin /lib /usr/bin /usr/games
- /usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h}
- /usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )
-
-
-
- Sprite v1.0 May 13, 1986 4
-
-
-
-
-
-
- RDIST User Commands RDIST
-
-
-
- EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc
- sendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont )
-
- ${FILES} -> ${HOSTS}
- install -R ;
- except /usr/lib/${EXLIB} ;
- except /usr/games/lib ;
- special /usr/lib/sendmail "/usr/lib/sendmail -bz" ;
-
- srcs:
- /usr/src/bin -> arpa
- except_pat ( \\.o\$ /SCCS\$ ) ;
-
- IMAGEN = (ips dviimp catdvi)
-
- imagen:
- /usr/local/${IMAGEN} -> arpa
- install /usr/local/lib ;
- notify ralph ;
-
- ${FILES} :: stamp.cory
- notify root@cory ;
-
-
- FFIILLEESS
- distfile input command file
- /tmp/rdist* temporary file for update lists
-
- SSEEEE AALLSSOO
- sh(1), csh(1), stat(2)
-
- DDIIAAGGNNOOSSTTIICCSS
- A complaint about mismatch of rdist version numbers may
- really stem from some problem with starting your shell,
- e.g., you are in too many groups.
-
- BBUUGGSS
- Source files must reside on the local host where rdist is
- executed.
-
- There is no easy way to have a special command executed
- after all files in a directory have been updated.
-
- Variable expansion only works for name lists; there should
- be a general macro facility.
-
- _R_d_i_s_t aborts on files which have a negative mtime (before
- Jan 1, 1970).
-
- There should be a `force' option to allow replacement of
- non-empty directories by regular files or symlinks. A means
- of updating file modes and owners of otherwise identical
-
-
-
- Sprite v1.0 May 13, 1986 5
-
-
-
-
-
-
- RDIST User Commands RDIST
-
-
-
- files is also needed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 May 13, 1986 6
-
-
-
-